package br.gov.mi.corporativo.dominio.boundary.comum.municipio;

import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

import br.gov.mi.corporativo.dominio.entidade.comum.Municipio;

@WebService
public interface MunicipioEndPoint {
	
	
	@WebMethod(operationName = "recuperarTodosMunicipios")
	public @WebResult(name="listaMunicipio")List<Municipio> recuperarTodos();
	
	@WebMethod(operationName = "recuperarMunicipioPorIdMunicipio")
	public @WebResult(name="municipio")Municipio recuperarPorIdMunicipio(
		   @WebParam(name="idMunicipio") Long idMunicipio); 
	
	@WebMethod(operationName = "recuperarMunicipioPorUf")
	public @WebResult(name="listaMunicipio")List<Municipio> recuperarPorUf(
		   @WebParam(name="uf") Long uf); 
	
	@WebMethod(operationName = "recuperarMunicipioPorMunicipio")
	public @WebResult(name="listaMunicipio")List<Municipio> recuperarPorNmMunicipio(
		   @WebParam(name="nmMunicipio") String nmMunicipio); 
	
	@WebMethod(operationName = "recuperarMunicipioPorCdMunicipioIbge")
	public @WebResult(name="municipio")Municipio recuperarPorCdMunicipioIbge(
		   @WebParam(name="cdMunicipioIbge") Long cdMunicipioIbge); 
	
	@WebMethod(operationName = "recuperarMunicipioPorCdMunicipioSiafi")
	public @WebResult(name="listaMunicipio")List<Municipio> recuperarPorCdMunicipioSiafi(
		   @WebParam(name="cdMunicipioSiafi") Long cdMunicipioSiafi); 
	
	@WebMethod(operationName = "recuperarMunicipioPorCdMesoRegiao")
	public @WebResult(name="listaMunicipio")List<Municipio> recuperarPorCdMesoRegiao(
		   @WebParam(name="cdMesoRegiao") Long cdMesoRegiao); 
	
	@WebMethod(operationName = "recuperarMunicipioPorCdMicroRegiao")
	public @WebResult(name="listaMunicipio")List<Municipio> recuperarPorCdMicroRegiao(
		   @WebParam(name="cdMicroRegiao") Long cdMicroRegiao); 
   
}
